﻿#ifndef MEASURECIRCLE2CIRCLE_H
#define MEASURECIRCLE2CIRCLE_H

#include "MeasureElement.h"
namespace Qly {

class MeasureDataSet;

/**
 * @brief The MeasureCircle2Circle class 两个圆的圆心距离
 *  m_results_um[0] 第一个圆的圆心坐标 X
 *  m_results_um[1] 第一个圆的圆心坐标 Y
 *  m_results_um[2] 第一个圆的半径
 *  m_results_um[3] 第二个圆的圆心坐标 X
 *  m_results_um[4] 第二个圆的圆心坐标 Y
 *  m_results_um[5] 第二个圆的半径
 *  m_results_um[6] 两个圆心的X方向距离 det X
 *  m_results_um[7] 两个圆心的Y方向距离 det Y
 *  m_results_um[8] 两个圆心的直线距离
 *  textTemplate 支持 @length_um, @length_mm, @length, @unit, @id 5 个关键字
 */
class MeasureCircle2Circle : public MeasureElement
{
    friend MeasureDataSet;
public:
    MeasureCircle2Circle(MeasureDataSet * parent = nullptr);
    QString name() Q_DECL_OVERRIDE {return m_name;}
private:

    int mouseLButtonPress(QPointF point_pix, QPointF point_um) Q_DECL_OVERRIDE;
    int mouseMove(QPointF point_pix, QPointF point_um) Q_DECL_OVERRIDE;

    void compute(void) Q_DECL_OVERRIDE; //计算图元的位置，还有长度结果
    void updateText(bool updatePosition = true) Q_DECL_OVERRIDE;
    void paint( QPainter &painter ) Q_DECL_OVERRIDE; //画方法
};



}
#endif // MEASURECIRCLE2CIRCLE_H
